import type {ListPagination} from "@/types/commonType.ts";

export type UploadPageListType = {
    data: {
        status: number
        fileName: string
    }
} & ListPagination

export type chunkType = {
    fileHash: string
}

export type UploadInitType = {
    "fileName": string //文件名
    "fileHash": string //文件hash
    "fileSize": number //文件大小 字节
    "chunkCount": number //分片总数量
}

type FileProgress = {
    uploaded: number; // 已上传的分片数量
    total: number | null; // 总分片数量
    status: number | null; // 上传状态
    uploadedChunks: string; // 已上传的分片索引
};

export type UploadListItemType = {
    id: string; // 文件ID
    fileName: string; // 文件名
    fileSize: number; // 文件大小（字节）
    fileHash: string; // 文件hash
    filePath: string | null; // 合并后的文件地址
    status: 0 | 1; // 文件状态：0上传中，1已完成
    createTime: string; // 初始化上传的时间
    fileType: string; // 文件后缀名
    downloadUrl: string | null; // 文件下载地址
    progress: FileProgress; // 上传进度信息
};